1. Field of the Invention
This invention relates to the switching of a real-time parallel maximum a posteriori (“MAP”) detector to a serial MAP detector when the MAP detector is subjected to near pathological data.
2. Background Information
A disk drive requires a detector for the purpose of removing intersymbol interference (ISI). The MAP detector improves on a simple Viterbi detector by providing soft information i.e., reliability data is provided for each decision. A basic MAP detector consists of two Viterbi operators, which calculate the accumulated path metrics for each state. The first Viterbi operator traverses a state diagram trellis in the forward direction and the second Viterbi operator does the same in the reverse direction. The state metrics from the two operators are then added and the combined metrics are separated into two groups. The first group corresponds to a ‘0’ incoming bit and the second group is associated with a ‘1’ bit. The minimum metric within each group is found and the two values are subtracted to obtain the soft decision.
The basic MAP detector is highly impractical as the state metrics for a whole block have to be stored before they can be combined, which not only requires a large amount of high speed storage, but also necessitates non-real-time operations. A practical MAP detector was disclosed by Viterbi, where the single reverse Viterbi operator was replaced by two reverse Viterbi operators. Each reverse operator alternates between a learning phase and a converged phase. The learning phase starts with all metrics set to 0 (equally probable) and is followed by processing of a fix amount of input data. The length of the input data is equal to the convergence length in bits (C) in each phase. In turn, C is related to the constraint length of the channel. The Viterbi operators have, in general, converged to the correct trellis path at the end of the learning phase. Accordingly, the metrics provided during the converged phase are, in general, equivalent to the metrics obtained by a reverse Viterbi operator operating across the full block of data.
A disk drive requires a very high processing speed which is difficult to provide by means of a single, i.e., serial, detector. Current forward Viterbi detectors are based on half-rate detector technology, which is not applicable to a MAP detector as the output values would be joint probabilities for two bits. It is thus necessary to use a parallel detector.
The basis of such a detector is to alternate between two Viterbi operators for the forward Viterbi detection using the same converged phases for the reverse operators. A parallel system is described in a co-pending application Ser. No. 11/409,684, entitled PARALLEL MAXIMUM A POSTERIORI DETECTORS WITH FORWARD AND REVERSE VITERBI OPERATORS HAVING DIFFERENT CONVERGENCE LENGTHS ON A SAMPLED DATA SEQUENCE filed Apr. 24, 2006, which is assigned to a common assignee and incorporated herein in its entirety. A typical parallel detector is made up of N (typically 4) sets of two forward and two reverse Viterbi operators. Within each set a forward operator first trains on a stream of input data of length C and then produce metrics for the next, or second, length C sequence of the input data. At the same time, a reverse operator trains on a reversed copy of a third length C sequence of input data, followed by calculating the metrics from a reversed copy of the second sequence. A “metric reversal stack” is then used to transform the order of the reverse metrics to match the forward metrics such that they can be combined. At the same time that the first pair of operators is producing metrics, the second pair is training on subsequent data. The detector provides data with a fixed latency if the offset between the data set is exactly N*C input samples, i.e., each detector “leapfrogs” to keep up with the parallel input data rate.
The longitudinal disk drive channel has no response at 0 frequency (DC) and very little response at the Nyquist frequency. At the Nyquist rate, alternating 1 and 0 data patterns thus provide no or very small input signals at the detector, making it difficult to obtain correct decisions. These data patterns are known as “pathological data.” Pure pathological data are normally removed by a modulation code applied to the data before it is recorded on the disk drive. However, near pathological data may not be removed by the modulation code. The channel input response to near pathological data is such that the performance is more sensitive to degradations in the forward operators. Pure pathological data during the learning phase of the forward operators will make it impossible for the detector to converge to the correct path, leading to significant degradation of the detector performance. This is evident when the performance of the parallel detector is compared to a serial detector in which the forward Viterbi operators are never restarted from an unknown state, as they are in the parallel detectors. Experiments have shown that the parallel detector, however, is especially sensitive to near-pathological patterns. A typical example being a block consisting of repeated sequences of 0x055550 (hexadecimal).
The MAP detector and iterative decoder can be operated in two different modes. The first mode is the on-the-fly mode where the detector processes the input data once and passes the result onto a decoder in real-time. The second mode is an error recovery mode, where the input samples are stored in the sample buffer and the detector and the decoder jointly process the block multiple times, with information passing not only from the detector to the decoder but also from the decoder to the detector. The MAP detector operates on the data in parallel in both modes, and each Viterbi operator resets appropriately to operate on the next data sequence supplied to the operator. In error recovery mode, the relatively short data sequences of length C used in the Viterbi operators may render the detector incapable of correcting the number of bits involved in a near-pathological situation. While these events are relatively rare, they can result in a sector being labeled bad because of a failure to converge.